// // 每一个js文件就是一个单独的模块
// console.log("这是一个A模块");

console.log(exports);
console.log(module.exports);
console.log(exports === module.exports);

let num1 = 1, num2 = 2;
// exports.num = num1;//这里的是赋值


// // let num4 = num1 + num2;
// // exports.num1 = num4;
// // 导出的语法
// // 只有模块中指定暴露的内容才能被其他模块访问到
exports.sum = function(){
    return num1+num2;
}

// // exports对象中的内容就会被导出
// console.log(exports)


// let num3;
// exports.num3 =1;
// exports.sum1 = function(){
//     return exports.num3; 
//     //写this也可以，因为this指向的是exports.sum1，
//     // 如果写num3就自己访问的let num3;就是未定义
// }


// 另外一种导出属性与方法的常见写法
// exports的写法  就是module.exports的简化写法， exports就是对moduleexports的引用
// 最终还是会以module.exports中的导出值为准

function fn(){
    console.log(fn);
}

module.exports = fn;